package jp.co.toshiba.ffsa.service.csas;

import java.sql.Timestamp;
import java.util.Calendar;

import jp.co.toshiba.ffsa.entity.User;

import org.seasar.extension.jdbc.JdbcManager;
import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.container.factory.SingletonS2ContainerFactory;


/**
 *登録情報変更入力確認Serviceクラス
 * @author (NPC)
 */
public class Csas202Service {

    /** メールアドレス */
    private String emailAddress;
    /** firstName */
    private String firstName;
    /** lastName */
    private String lastName;
    /** userID */
    private String userID;
    /** Company */
    private String company;
    /** Department */
    private String department;
    /** Phone */
    private String phone;
    /** Region */
    private String region;
    /** Country */
    private String        country;
    /** City */
    private String        city;
    /** ユーザーマスタ */
    private User user = null;

    /**
     * ユーザーIDをセットする
     * @param userId
     */
    public void setUserID(String userId){this.userID = userId;}
    /**
     * メールアドレスをセットする
     * @param emailAddress
     */
    public void setEmailAddress(String emailAddress){this.emailAddress = emailAddress;}
    /**
     * FirstNameをセットする
     * @param firstName
     */
    public void setFirstName(String firstName){this.firstName = firstName;}
    /**
     * LastNameをセットする
     * @param firstName
     */
    public void setLastName(String lastName){this.lastName = lastName;}
    /**
     * Companyをセットする
     * @param company
     */
    public void setCompany(String company) {
        this.company = company;
    }
    /**
     * Departmentをセットする
     * @param department
     */
    public void setDepartment(String department) {
        this.department = department;
    }
    /**
     * Phoneをセットする
     * @param phone
     */
    public void setPhone(String phone) {
        this.phone = phone;
    }
    /**
     * Regionをセットする
     * @param region
     */
    public void setRegion(String region) {
        this.region = region;
    }
    /**
     * Countryをセットする
     * @param country
     */
    public void setCountry(String country) {
        this.country = country;
    }
    /**
     * Cityをセットする
     * @param city
     */
    public void setCity(String city) {
        this.city = city;
    }
    /**
     * メールアドレスを取得する
     * @return emailAddress
     */
    public String getEmailAddress(){return this.emailAddress;}
    /**
     * FirstNameを取得する
     * @return firstName
     */
    public String getFirstName(){return this.firstName;}
    /**
     * LastNameを取得する
     * @return lastName
     */
    public String getLastName(){return this.lastName;}
    /**
     * ユーザーIDを取得する
     * @return userID
     */
    public String getUserID(){return this.userID;}
    /**
     * companyを取得する
     * @return company
     */
    public String getCompany() {
        return company;
    }
    /**
     * departmentを取得する
     * @return department
     */
    public String getDepartment() {
        return department;
    }
    /**
     * regionを取得する
     * @param region
     */
    public String getRegion() {
        return region;
    }
    /**
     * phoneを取得する
     * @return phone
     */
    public String getPhone() {
        return phone;
    }
    /**
     * countryを取得する
     * @return country
     */
    public String getCountry() {
        return country;
    }
    /**
     * cityを取得する
     * @return city
     */
    public String getCity() {
        return city;
    }

    /**
     * DB操作処理
     * @throws Exception エラー
     */
    public void userUpgInfo( ) throws Exception {
        // S2Container初期化
        SingletonS2ContainerFactory.init();
        // S2ContainerからJdbcManagerを取得
        JdbcManager jdbcManager = SingletonS2Container.getComponent(JdbcManager.class);
        // 当日取得
        Calendar cal = Calendar.getInstance();
        // プロパティの値を変更
        user = new User();
        user.userID                = this.userID;
        user.firstName             = this.firstName;
        user.lastName              = this.lastName;
        user.region                = this.region;
        user.company               = this.company;
        user.department            = this.department;
        user.phone                 = this.phone;
        user.country               = this.country;
        user.city                  = this.city;

        user.updatedAt             = new Timestamp(cal.getTime().getTime());
        user.updatedBy             = user.userID;
        // 更新
        jdbcManager.update(user).includes("firstName"
                ,"lastName"
                ,"region"
                ,"company"
                ,"department"
                ,"phone"
                ,"country"
                ,"city"
                ,"updatedAt"
                ,"updatedBy"
                ).execute()
                ;
        return;
    }

}
